/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entitaet;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

/**
 *
 * @author Dominik
 * @author Steffen
 */
@Entity
public class Bestellung implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int bestellungsNr;
    private String kundenName;
    /**
     * Beinhaltet die Bestellposten zu der Produkt ID
     */
    @OneToMany(mappedBy="bestellung", cascade={CascadeType.ALL}, orphanRemoval=true)
    private Set<Bestellposten> bestellposten = new HashSet<>();
    
    public Bestellung() {
    }
    
    public Bestellung(String kundenName) {
        this.kundenName = kundenName;
    }
    
    public void bestellpostenHinzufuegen(Bestellposten bp) {
        bestellposten.add(bp);
    }
    
    public void bestellpostenLoeschen(Bestellposten bp) {
        bestellposten.remove(bp);
    }

    /**
     * @return the bestellungsNr
     */
    public int getBestellungsNr() {
        return bestellungsNr;
    }

    /**
     * @param bestellungsNr the bestellungsNr to set
     */
    public void setBestellungsNr(int bestellungsNr) {
        this.bestellungsNr = bestellungsNr;
    }

    /**
     * @return the kundenName
     */
    public String getKundenName() {
        return kundenName;
    }

    /**
     * @param kundenName the kundenName to set
     */
    public void setKundenName(String kundenName) {
        this.kundenName = kundenName;
    }

    /**
     * @return the bestellposten
     */
    public Set<Bestellposten> getBestellposten() {
        return bestellposten;
    }

    /**
     * @param bestellposten the bestellposten to set
     */
    public void setBestellposten(Set<Bestellposten> bestellposten) {
        this.bestellposten = bestellposten;
    }
    

   
    
}
